package com.xiaolun;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

/**
 * 文件字节输入流使用：演示FileInputStream类的使用
 * 1、题目：读取文件，用FileInputStream的对象把文件读入到内存。
 */
public class Demo02 {
	public static void main(String[] args) {
		file2cache("C:\\Users\\34938\\Desktop\\test.txt");
	}

	private static void file2cache(String filePath) {
		//得到一个文件对象，文件指向C:\Users\34938\Desktop\test.txt
		File file = new File(filePath);
		System.out.println(file.length());
		FileInputStream fis = null;
		try {
			//因为File没有读写能力，所以需要FileInputStream
			fis = new FileInputStream(file);
			//定义一个字节数组
			byte[] bytes = new byte[1024];
			//得到实际读取到的字节数
			int n = 0;
			//循环读取(当n 等于 -1的时候，数据读到最后)
			while ((n = fis.read(bytes)) != -1) {
				//把字节转成String
				String s = new String(bytes, 0, n);
				System.out.println("s---->" + s);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			//关闭文件流必须放到这里
			try {
				fis.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
